package testrf.shared;

import testrf.server.UserLocator;
import testrf.server.UserServiceLocator;

import com.google.web.bindery.requestfactory.shared.LoggingRequest;
import com.google.web.bindery.requestfactory.shared.Request;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.RequestFactory;
import com.google.web.bindery.requestfactory.shared.Service;

public interface TestRequestFactory extends RequestFactory {
  @Service(value = UserLocator.class, locator = UserServiceLocator.class)
  interface UserRequest extends RequestContext {
    Request<UserProxy> find(Long id);

    Request<Long> save(UserProxy user);
  }

  LoggingRequest loggingRequest();

  UserRequest userRequest();
}
